Alessandro Levi Montalcini
C.so Re Umberto 10
10121 Torino
Italy
e-mail: LMontalcini@pmn.it
anonymous ftp: //ftp.alpcom.it/software/mac/LMontalcini

 

Traps Check 1.1 docs - March 1995

• Introduction
◊  Traps Check is a free utility that inspects all the documented toolbox and operating system traps and tells whether they are implemented as native PowerPC code or as 680x0 code. The results are saved in a text file with tabs; you can use your word processor to display or print the list better than with SimpleText.

• Tech info
◊  Traps Check looks for the _MixedModeMagic pseudo-trap, which is at the beginning of all routine descriptors. It doesn’t check if the routine descriptor really contains PowerPC code (although this wouldn’t be hard) because it’s unlikely that a routine descriptor is created for a 68K-only trap. Should a 68K-only routine descriptor exist for a given trap, Traps Check would incorrectly report it as a native trap.
◊  Traps Check can’t do anything to tell you about split traps, i.e. traps that are implemented both as PowerPC and 68K code but have no routine descriptor because two separate versions are available to PowerPC and 68K applications. Apple says that only a few traps have been implemented as split traps, since split traps can’t be patched safely. Anyway, split traps always show up as 68K-only traps in the Traps Check report.

• System check
◊  If you build a report on a Power Macintosh with all the extensions disabled (shift key down at startup) and another one with all your extensions and control panels installed, you may find some differences when comparing the two files. Native PowerPC traps that are patched with 68K code by an extension are listed as 68K traps. These patches cause mode switches (the Power Mac must go from native to emulated mode and back) and can slow down even the fastest processor. Older screen savers, for example, patch all the QuickDraw bottlenecks - which are written in fast PowerPC code on the Power Macs. The performance degradation, which was not noticeable on 68K Macs, can be annoying on a Power Macintosh. You may want to leave these extensions and control panels out of your System folder until a PowerPC-aware version is available.

• Compatibility
◊  Traps Check is compiled as 68K code (it can’t be compiled as native code for technical reasons) and runs both on 68K and Power Macs. On a standard 68K Mac all traps are always 68K, but you can still use it to see which traps are not implemented on your machine. For those who don’t have a Power Macintosh, a sample report generated by a 6100/60 running system 7.5 is included.

• Version history
◊  1.1 - Updated the traps list from Apple’s Universal Headers 2.0a3, recompiled with CodeWarrior, added online documentation.
◊  1.0 - First public release.

• Distribution
◊  Traps Check is ©1994-95 Alessandro Levi Montalcini. It can be freely distributed as long as it is not modified and there’s no charge for it, but it may not be included in any commercial package without my consent.
◊  You may find the latest version of all my shareware programs by anonymous ftp to ftp.alpcom.it, inside the /software/mac/LMontalcini directory. The complete ShareDisk package, which contains all my stuff and can be registered at a very low price, is also available there.
◊  All online services and bulletin boards may make it available to their users at no charge other than the normal connection fees.
◊  All non-profit user groups may distribute it at no charge.
◊  All magazines may publish it on floppy disk without asking me first, as long as I get a copy of the issue containing my software.
◊  All CD-ROM shareware collections and CD-ROM magazines may include it without my prior consent, as long as I get either a copy of the CD-ROM or an offer to buy the CD-ROM at a discounted price.
◊  All redistribution companies such as Educorp may distribute it, as long as I get a copy of each media containing my software and a catalog of the company’s offerings (where applicable).

• Disclaimer
◊  Traps Check shouldn’t cause any damage, but you’re using it at your own risk. As an independent software developer, I can make no warranties whatsoever on it.